On Stability 

By Chris Gulker

High on my thinking list lately has been the subject of stability. 

Mostly, I've been thinking about the Mac OS and its competition, UNIX and Windows NT (and 95 and
3.x etc). UNIX, though hard to use, is thought of as a stable system.. UNIX computers don't often crash.

Stability is an issue at many levels of my experience, however. 

                       Chaos and complexity theory (at least my poor understanding of them) dictate
                       that stability is a place in state space where things tend to behave predictably.
                       Nothing prevents a small maneuver in predictable space from jumping way, way
                       out into "chaos" space, however. 

                       Hence, crashes. (The diagram at left shows a "strange attractor" in state space). 

                       A crashing computer is merely one whose software has jumped somewhere into
                       state space that a user has no use for. It thinks it's doing fine... just because
                       you're hammering on a locked keyboard doesn't mean the computer isn't
humming along somewhere, looping through code that makes perfect sense to a CPU. 

Even when it goes seriously "wild" (like a "snow crash" where the monitor shows video "snow" - rare
these days), the hardware doesn't know it's not doing the right thing. While it's in a space useless to
someone trying to hammer out a spreadsheet or marketing presentation, the system is buzzing along in
some possible, if undesirable, state. 

Stability is, at least partially, a concept derived from perception. Is the Mac OS stable? Depends on how
long since it went down when you were trying to get something out of the machine... 

The holy grail of computer OS stability tends to revolve around UNIX, the grandaddy of OSes. CPM
and DOS were a kind of poor person's UNIX that was small enough to run on the first PCs. The Mac's
OS was a radical departure, and as different from the UNIX command line as color icons are from the
green dot-matrix text that was once the computer standard. 

Nevertheless, UNIX features, mainly protected memory, preemptive multitasking and symmetric
multiprocessing are regarded as the benchmark features of a stable OS. The MAC OS, now more than
10 years old, doesn't offer these features owing to its early history of running on hardware that didn't
have the horsepower to support it along with all the Mac graphics. 

More than ten years of fixes, add-ons and a structure that meant applications programmers had to
"patch", or rewrite parts of the code to add functions have caught up with the Mac. Most PowerPCs load
dozens of patches when they boot up, and the potential for these patches to interact badly is legendary
("INIT conflicts"). 

The new Mac OS, code-named Copland, doesn't have full protected memory, preemptive multitasking
or symmetric multiprocessing. The folks in Windows land have noticed: they're jumping up and down
talking about the "wanting" stability of the Mac OS. 

Don Crab, an associate prof. at the University Chicago and one of the best-known experts on the Mac
OS, has an excellent article in this month's Mac/Chicago magazine. Unfortunately, the article isn't
published on the Web, yet. 

Don makes the case that the Mac OS is going to be very stable, even without protected memory et al.,
more stable in fact, than Windows 95 which has problems of its own related to backward compatibility. 

Part 2: On stability, perception and work 

Chris Gulker cg@gulker.com 
